// 手动模拟一个类似于 express.urlencoded这样的中间件，来解析post提交到服务器的表单数据
const express = require("express")

const app = express();
// 导入node的querystring模块 专门处理查询字符串的，通过这个提供的parse来转换成对象格式
const qs = require('querystring')

// 1先创建一个中间件
app.use((req, res, next) => {
    // 2、监听data 事件
    // 定义一个str，来存储客户端发送过来的数据
    let str = '';
    req.on("data", (data) => {
        str+=data
    })
    // 3、监听end事件
    req.on("end", () => {
        // 现在在str中的数据是完整的了
        // 4、把str字符串的请求体数据，转换成对象格式
        const body = qs.parse(str)
        // console.log(body);
        // 5、挂载到 req.body中
        req.body = body
        next()
    })
})

app.post("/ces", (req, res) => {
    
    console.log(req.body);
    res.send(req.body)
})
app.listen(8080, () => {
    console.log("启动成功");
})